Collaborative bookmarking

ABSTRACT

A method and system for collaborating tags in a bookmarking system wherein the bookmarking system includes a plurality of tags applied to content items by a plurality of users, the method and system including, examining all the tags that are applied to all the content items, determining whether two tags have been assigned to the same content item, if two tags have been assigned to the same content item, computing the relative strength of each of the two tags with respect to each other.

REFERENCE TO RELATED APPLICATION

The present application is a continuation of Applicant's co-pending U.S.application Ser. No. 12/262,683, now allowed, the entirety of which ishereby incorporated by reference.

TECHNICAL FIELD

The present invention relates generally to methods and systems forcollaborative bookmarking, and particularly to methods and systems formanaging a collaborative bookmarking system.

BACKGROUND

Collaborative bookmarking is a growing phenomenon within the world-wideweb. Users of a collaborative bookmarking site contribute to the site byassociating, or “tagging” uniform resource locators (URLs) forweb-accessible content with descriptive phrases and key words, or tags.A tag is a non-hierarchical keyword or term assigned to a piece ofinformation (such as an internet bookmark, digital image, or computerfile). This kind of metadata helps describe an item and allows it to befound again by browsing or searching. Tags are chosen informally andpersonally by the item's creator or by its viewer, depending on thesystem. On a website in which many users tag many items, this collectionof tags becomes a folksonomy, also known as social classification,social indexing or social tagging.

The contributions of the site users is typically displayed as a singlepage, random arrangement of tags commonly referred to as a tag cloud.This is exemplified by collaborative bookmarking sites such asdelicious.com and flickr.com. Further examples of collaborativebookmarking solutions include IBM's Dogear, the Onomi social bookmarkingsystem, and the Cogenz enterprise tagging solution.

Collaborative bookmarking systems used in the corporate environment,such as IBM's dogear and the Onomi bookmarking system, have provenvaluable for: 1) providing research analysts with a place to shareresearch findings; 2) fueling expertise finding and user profiling; 3)helping to form and support social networks around interest areas; 4)enhancing the value of other information retrieval and aggregationcapabilities on a company's intranet; and 5) influencing or augmentingcorporate subject taxonomy strategies.

These systems share a number of common features. They allow individualsto create personal collections of bookmarks and easily share theirbookmarks with others. These centrally stored collections can beaccessed from web-connected machine. These systems all have the abilityto display tag clouds that represent the contributions of all of acollaborative bookmarking site's users. Tags that are explicitly enteredby the user for each bookmark allow the individual user to organize anddisplay the collection with meaningful labels. Furthermore, multipletags allow bookmarks to belong to more than one category, a limitationof traditional hierarchically organized folders found in most webbrowsers. Although bookmark collections are personally created andmaintained, they are typically visible to others. A number of userinterface elements allow social browsing of the bookmark space. Forexample, user names are “clickable” links; clicking on a name revealsthe bookmark collection for that user. This allows someone to get asense of the topics of interest for a particular user. Similarly, tagsare also clickable, and when selected will result in a list of allbookmarks that share that tag. This is a useful way to browse throughthe entire bookmark collection to see if it includes information sourcesof interest.

These systems also have the ability to display the relative number ofcontributions and/or activity of contributions by varying the weight,size, color, and style of the fonts used to display tags within a tagcloud. For example, a tag that refers to twice as much content asanother tag may be shown using a larger font that the other tag.

Moreover, there are other systems, such as the Mooter search engine,that enable the automated discovery and presentation of related topicswithin a group of web-accessible content but these rely on automatedtopic discovery (topics are analogous to tags) through parsing of webcontent. This results in a narrow set of topics that does not representthe wide variety of viewpoints observed in a social bookmarkingsolution.

What these systems all lack is the ability to present users with tagsthat are related to a tag of interest. For example, suppose a user issearching for tags related to the topic of chairs. Current systems haveno ability to relate this to the topic of recliners and thus require theuser to know that a recliner is a specialization of the general topic ofchairs.

SUMMARY

According to one embodiment of the present invention, a method ofcollaborating tags in a bookmarking system is provided wherein thebookmarking system includes a plurality of tags applied to content itemsby a plurality of users, the method including, examining all the tagsthat are applied to all the content items, determining whether two tagshave been assigned to the same content item, if two tags have beenassigned to the same content item, computing the relative strength ofeach of the two tags with respect to each other.

In a further aspect of the method, the relative strength is computed bycounting the number of occurrences of each of the two tags on all thecommonly assigned content items within the bookmarking system, anddividing by the sum total of the number of occurrences of each of thetwo tags in the entire bookmarking system.

In yet another aspect, the method includes determining the relativestrength between all the tags in the bookmarking system that have beenassigned to the same content items. The relative strength is computed bycounting the number of occurrences of each of two tags on all thecommonly assigned content items within the bookmarking system anddividing by the sum total of the number of occurrences of each of thetwo tags in the entire bookmarking system.

In still a further aspect, the method includes providing arepresentation of the relative strength between the tags in abookmarking system. The representation can be provided in a variety offorms. It can include tags having varied size, weight, style, color, orface of font dependent on relative strength of the tags. Therepresentation can include tags having lines disposed between tags ofcommon assignment, wherein the lines have varying width or color toindicate the direction of relationships between tags of commonassignment. It can include tags having relationships whose relativestrength is above a system or user-defined threshold.

In another embodiment of the invention, a system for collaborating tagsin a bookmarking system is provided wherein the bookmarking systemincludes a plurality of tags applied to content items by a plurality ofusers, the system including one or more user interfaces, a collaborativebookmarking database linked to the one or more users interfaces, whereinusers utilize the one or more user interfaces to apply tags to contentitems, and a relationship database linked to the collaborativebookmarking database, wherein the relationship database computes therelative strength of each tag applied to the same content item.

In a further aspect of the system, the relative strength is computed bycounting the number of occurrences of each of two tags on all thecommonly assigned content items within the bookmarking system, anddividing by the sum total of the number of occurrences of each of thetwo tags in the entire bookmarking system.

In another aspect of the system, the relative strength is computedbetween all the tags in the bookmarking system that have been assignedto the same content items by counting the number of occurrences of eachof two tags on all the commonly assigned content items within thebookmarking system and dividing by the sum total of the number ofoccurrences of each of the two tags in the entire bookmarking system.

In a further aspect of the system, a representation of the relativestrength between the tags in a bookmarking system is provided to usersof the system. The representation can be provided in a variety of forms.It can include tags having varied size, weight, style, color, or face offont dependent on relative strength of the tags. The representation caninclude tags having lines disposed between tags of common assignment,wherein the lines have varying width or color to indicate the directionof relationships between tags of common assignment. It can include tagshaving relationships whose relative strength is above a system oruser-defined threshold.

In yet another embodiment of the invention, a computer program productencoded in a computer readable medium for instructing a system to relatetags in a collaborative bookmarking system is provided wherein thecollaborative bookmarking system includes a plurality of tags applied tocontent items by a plurality of users, the program code configured tocause the computer to perform the method including examining all thetags that are applied to all the content items, determining whether twotags have been assigned to the same content item, and if two tags havebeen assigned to the same content item, computing the relative strengthof each of the two tags with respect to each other.

In an aspect of the computer program product, the relative strength iscomputed by counting the number of occurrences of each of the two tagson all the commonly assigned content items within the bookmarkingsystem, and dividing by the sum total of the number of occurrences ofeach of the two tags in the entire bookmarking system.

In a further aspect of the computer program product, the method includesdetermining the relative strength between all the tags in thebookmarking system that have been assigned to the same content items,wherein the relative strength is computed by counting the number ofoccurrences of each of two tags on all the commonly assigned contentitems within the bookmarking system and dividing by the sum total of thenumber of occurrences of each of the two tags in the entire bookmarkingsystem.

In yet another aspect of the computer program product, the methodincludes providing a representation of the relative strength between thetags in a bookmarking system, wherein the representation can include (a)tags having varied size, weight, style, color, or face of font dependenton relative strength of the tags; (b) tags having lines disposed betweentags of common assignment, wherein the lines have varying width or colorto indicate the direction of relationships between tags of commonassignment; or (c) tags having relationships whose relative strength isabove a system or user-defined threshold.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The present invention will be more fully understood and appreciated byreading the following Detailed Description in conjunction with theaccompanying drawings, in which:

FIG. 1 shows a schematic diagram of an embodiment of a system of theinvention;

FIG. 2 shows a computational diagram of the relationship among aplurality of tags; and

FIG. 3 shows a flow chart of an embodiment of a method of the invention.

DETAILED DESCRIPTION

Embodiments of the invention provide a system and method for discoveringrelated topics in a collaborative bookmarking application.

Reference is made to FIG. 1, which shows an embodiment of a system 10for discovering related topics in a collaborative bookmarkingapplication. A series of users 12, 14 and 16 are shown, although thenumber of users is not limited to any set number, and as many users aspossible may utilize system 10. Users 12, 14 and 16 are linked to acomputer network 18. Network 18 may be a private intranet, such as acompany intranet, or the public internet. Network 18 is linked to acollaborative bookmarking server 20, wherein all the tags are accessedand searched by users of system 10. Collaborative bookmarking server 20also receives new tags from users on various content that the users areviewing. Relationship engine 22 takes the tags as input and computes therelationships between the tags by examining the tags that are applied toa content item. Relationship engine 22 then computes the relativestrength of the relationships between tags by calculating the number oftimes that two tags appear in common across all the tagged contentwithin the collaborative bookmarking database 20. This number is thendivided by the total number of times that the tags appear within theentire collaborative bookmarking database 20 to provide a number thatrepresents the strength of the relationships between the tags in thebookmarking system. This helps a user of the system in searching byproviding a focused means of identifying topics (tags) and thus contentitems that are relevant to the user's topic of inquiry. This in turnenables the user to selectively broaden or narrow their search tocontent items that are more general or more specific to the user's topicof inquiry as indicated by the strength of the relationships derived bythe invention.

In FIG. 1, Content Item 1 is tagged by users 12, 14 and 16 with the tagsi) barstools, ii) furniture and barstools, and iii) chairs,respectively. Content Item 2 is tagged by users 12, 14 and 16 with thetags i) recliners, ii) furniture and chairs, and iii) chairs,respectively. Content Item 3 is tagged by user 12 with the tags i)furniture and couches. Table 1 below illustrates the aggregateappearance counts for the tags assigned to each of the three contentitems by the users in the collaborative bookmarking system 10.

TABLE 1 Aggregate and total number of appearances for assigned tagswithin the collaborative bookmarking solution. Content Tag ItemBarstools Chairs Couches Furniture Recliners 1 2 1 0 1 0 2 0 2 0 1 1 3 00 1 1 0 Appearances 2 3 1 3 1

The number of times that each tag appears in relation to the other tagsin system 10 is calculated. This is performed by taking all contentitems where a tag occurs, totaling the number of for all other tags thatoccur for those content items. For example, in FIG. 1, the tag “chairs,”occurs in content items 1 and 2. In content items 1 and 2, there are twooccurrences of the tag “barstool,” two occurrences of the tag“furniture” and one occurrence of the tag “recliner.” This is anintermediate step before calculating the strength metric between relatedtopics. Table 2 below documents the number of times that each tagappears in relation to the other tags.

TABLE 2 Cross-reference of tag appearances relative to other tags. Sumof Occurrences of Tag With Each Tag in the List of Tags List of TagsBarstools Chairs Couches Furniture Recliners Barstools 1 0 1 0 Chairs 20 2 1 Couches 0 0 1 0 Furniture 2 3 1 1 Recliners 0 2 0 1

The relative strength of the relationships between pairs of tags iscalculated by dividing each entry in Table 2 by the total number ofappearances of the two tags across all content items using thealgorithm:

${Strength}_{relative} = \frac{{Common}\mspace{14mu} {occurrences}_{{{Tag}\; 1}:{{Tag}\mspace{14mu} 2}}}{( {{{Total}\mspace{14mu} {Occurrences}_{{Tag}\mspace{14mu} 1}} + {{Total}\mspace{14mu} {Occurrences}_{{Tag}\mspace{14mu} 2}}} )}$

For example, for the strength of the relationship from chairs tobarstools is calculated as follows: (number of occurrences the tag“chairs” has in common with the tag “barstools”) divided by (number ofappearances of the of the tag “barstools”) plus (number of appearancesof the tag “chairs”) or 2/(2+3)=0.4. Similarly, the strength of therelationship from barstools to chairs is 1/(2+3)=0.2 The following Table3 displays the relative strength of the relationships between relatedtags.

TABLE 3 Relative strength of the relationships between related tags.Relative Strength List of Tags Barstools Chairs Couches FurnitureRecliners Barstools 0.2 0.0 0.2 0.0 Chairs 0.4 0.0 0.3 0.3 Couches 0.00.0 0.3 0.0 Furniture 0.4 0.5 0.3 0.3 Recliners 0.0 0.5 0.0 0.3

Reference is made to FIG. 2, which shows a graphic representation of thetopics within collaborative bookmarking system 10 of FIG. 1. Therelative strengths of the relationships between the tags is shown. Auser using collaborative bookmarking system 10 is able to quicklydetermine which tags to select and how to narrow or broaden his searchby viewing FIG. 2.

The strength of the relationships between tags may be represented by (i)varying the size, weight, style, color, or face of font used to rendertags related to the user's currently selected tag; (ii) varying thewidth, or color of lines used to indicate the direction ofrelationships; (iii) a graph is filtered to only show relationshipswhose relative strength is above a system or user-defined threshold.

FIG. 3 shows the logic 40 of system 10. At step 42, the tags for allcontent items are viewed. At step 44, a query asks if there are twotags, for example, Tag A and Tag B, that have been assigned to the samecontent item. If yes, the process continues, and at step 46, all contentitems are viewed and the number of times that Tag A appears iscalculated (“total occurrences of Tag A”). At step 48, all content itemsare viewed and the number of times that Tag B appears is calculated(“total occurrences of Tag B”). At step 50, the number of times that TagA and Tag B appear in relation to each other is calculated (“commonoccurrences of Tag A→Tag B” and common occurrences of Tag B→Tag A”). Atstep 52, the relative strength of Tag A with respect to Tag B iscalculated by taking the common occurrences of Tag A→Tag B from step 50and dividing by the sum total of the total occurrences of Tag B fromstep 48 and the total occurrences of Tag A from step 46. The relativestrength of Tag B with respect to Tag A is also calculated at step 52 bytaking the common occurrences of Tag B→Tag A from step 50 and dividingby the sum total of the total occurrences of Tag A from step 46 and thetotal occurrences of Tag B from step 48. The process may be continuedfor all tags in the bookmarking system, to determine the relativestrength of all tags that are commonly assigned to content items. Themethod described in FIG. 3 can be a batch implementation or it can beimplemented as a dynamic process that integrates the computation of thetotal occurrences and the relative strengths as the items are tagged.

It should be mentioned that the relationship engine exploits the largenumber of users that typically use a collaborative bookmarking solution.As multiple users tag a common piece of content it is invariable thatthe users will use both common and different tags that represent theirindividual categorizations of the content. The relationship engineexploits these variations to derive relationships between tags anddisplay those relationships to end users of the collaborativebookmarking system. This enables users to selectively narrow or broadentheir searches to significantly reduce the time it takes them to locatecontent relevant to their interests.

The system may be implemented using logical software components that areinstalled onto physical servers. A component can be implemented by asingle instance of an application or through multiple installations ofone or more applications. Components can be installed on any number ofphysical servers, i.e. the components may be installed on separateservers, collocated on a single server, or installed separately andcollocated in any combination of the two options. In reference to FIG.1, lines between the components represent logical communication paths,likely implemented using a computer network and clouds represent logicalcomputer networks comprised of a variety of networking components andpersons represent users of the collaborative bookmarking solution.

Moreover, the relationship engine can be is integrated into thecollaborative bookmarking system as functional subset or via a definedextension mechanism; it can be integrated as a functional subset orextension into a storage subsystem such as a computer database thatsupports the collaborative bookmarking solution; it can be integratedinto a knowledge management or relationship discovery component as afunctional subset or via a defined extension mechanism.

In a further embodiment, the method of an embodiment herein may beimplemented within or between one or more computer systems, by executingcomputer-readable program code stored on computer-readable media. Thecomputer-readable media may include, for example, any number or mixtureof fixed or removable media (such as one or more fixed disks, randomaccess memories (RAMs), read-only memories (ROMs), or compact discs), ateither a single location or distributed over a network. Thecomputer-readable program code may include, for example, instructionsembodied in software or firmware.

The computer-readable program code may include various components, suchas program code, code to display a user interface, code to set up acollaborative bookmarking system to include content items, code tocollaborate tags in a bookmarking system that are applied to the contentitems, code to examine all the tags that are applied to all the contentitems, code to determine whether two tags have been assigned to the samecontent item, code to compute the relative strength of each of the twotags with respect to each other, code to compute the relative strengthby counting the number of occurrences of each of the two tags on all thecommonly assigned content items within the bookmarking system, anddividing by the sum total of the number of occurrences of each of thetwo tags in the entire bookmarking system, and code to determine therelative strength between all the tags in the bookmarking system thathave been assigned to the same content items.

Although the present invention has been described in connection withpreferred embodiments thereof, it will be appreciated by those skilledin the art that additions, deletions, modifications, and substitutionsnot specifically described may be made without department from thespirit and scope of the invention as defined in the appended claims.

What is claimed is:
 1. A method of collaborating tags in a bookmarkingsystem wherein the bookmarking system comprises a plurality of tagsapplied to a plurality of content items by a plurality of userscomprising: examining, by a processor, all the tags that are applied toall the content items; determining, by the processor, whether two tagshave been assigned to one of said plurality of content items; if twotags have been assigned to one of said plurality of content items,computing, by the processor, a relative strength of each of the two tagswith respect to each other; and providing a representation of therelative strength between the tags in the bookmarking system.
 2. Themethod of claim 1 wherein the relative strength is computed by countinga number of occurrences of each of the two tags on all the commonlyassigned content items within the bookmarking system, and dividing bythe sum total of the number of occurrences of each of the two tags inthe entire bookmarking system.
 3. The method of claim 1 furthercomprising determining the relative strength between all the tags in thebookmarking system that have been assigned to one of said plurality ofcontent items.
 4. The method of claim 3 wherein the relative strength iscomputed by counting the number of occurrences of each of two tags onall the commonly assigned content items within the bookmarking systemand dividing by the sum total of the number of occurrences of each ofthe two tags in the entire bookmarking system.
 5. The method of claim 1,wherein the representation comprises tags having varied size, weight,style, color, or face of font dependent on relative strength of thetags.
 6. The method of claim 5, wherein the representation comprisestags having lines disposed between tags of common assignment, whereinthe lines have varying width or color to indicate a direction ofrelationships between tags of common assignment.
 7. The method of claim5, wherein the representation comprises tags having relationships whoserelative strength is above a system or user-defined threshold.
 8. Asystem for collaborating tags in a bookmarking system wherein thebookmarking system comprises a plurality of tags applied to a pluralityof content items by a plurality of users comprising: a computer, saidcomputer comprising a one or more user computer interface; acollaborative bookmarking database linked to the one or more usercomputer interface, wherein users utilize the one or more user computerinterface to apply tags to said plurality of content items; arelationship database linked to the collaborative bookmarking database,wherein the relationship database computes a relative strength of eachtag applied to one of said plurality of content items, and furtherwherein the relationship database provides a representation of therelative strength between the tags in the bookmarking system.
 9. Thesystem of claim 8, wherein the relative strength is computed by countinga number of occurrences of each of two tags on all the commonly assignedcontent items within the bookmarking system, and dividing by the sumtotal of the number of occurrences of each of the two tags in the entirebookmarking system.
 10. The system of 9, wherein the system determinesthe relative strength between all the tags in the bookmarking systemthat have been assigned to one of said plurality of content items. 11.The system of claim 10, wherein the representation comprises tags havingvaried size, weight, style, color, or face of font dependent on relativestrength of the tags.
 12. The system of claim 10, wherein therepresentation comprises tags having lines disposed between tags ofcommon assignment, wherein the lines have varying width or color toindicate a direction of relationships between tags of common assignment.13. The system of claim 10, wherein the representation comprises tagshaving relationships whose relative strength is above a system oruser-defined threshold.
 14. A computer program product comprisingprogram code encoded in a non-transitory computer readable medium forinstructing a system to relate tags in a collaborative bookmarkingsystem wherein the bookmarking system comprises a plurality of tagsapplied to a plurality of content items by a plurality of users, theprogram code configured to cause a computer to perform the methodcomprising: examining all the tags that are applied to all the contentitems; determining whether two tags have been assigned to one of saidplurality of content items; if two tags have been assigned to the samecontent item, computing a relative strength of each of the two tags withrespect to each other; and providing a representation of the relativestrength between the tags in the bookmarking system.
 15. The computerprogram product of claim 14, wherein the relative strength is computedby counting a number of occurrences of each of the two tags on all thecommonly assigned content items within the bookmarking system, anddividing by the sum total of the number of occurrences of each of thetwo tags in the entire bookmarking system.
 16. The computer programproduct method of claim 14, wherein the method further comprisesdetermining the relative strength between all the tags in thebookmarking system that have been assigned to one of said plurality ofcontent items.
 17. The computer program product of claim 16, wherein therelative strength is computed by counting the number of occurrences ofeach of two tags on all the commonly assigned content items within thebookmarking system and dividing by the sum total of the number ofoccurrences of each of the two tags in the entire bookmarking system.18. The computer program product of claim 14, wherein the method furthercomprises providing a representation of the relative strength betweenthe tags in a bookmarking system, wherein the representation comprises(a) tags having varied size, weight, style, color, or face of fontdependent on relative strength of the tags; (b) tags having linesdisposed between tags of common assignment, wherein the lines havevarying width or color to indicate a direction of relationships betweentags of common assignment; or (c) tags having relationships whoserelative strength is above a system or user-defined threshold.